Video is currently being transitioned from an analog medium to a digital medium. For example, the old analog NTSC television broadcasting standard is slowly being replaced by the digital ATSC television broadcasting standard. Similarly, analog video cassette tapes are increasingly being replaced by digital versatile discs (DVDs). Thus, it is important to identify efficient methods of digitally encoding video information. An ideal digital video encoding system will provide a very high picture quality with the minimum number of bits.
Many video encoding algorithms partition each video frame in a sequence of video frames into sets of pixels called pixelblocks. Each pixelblock is then coded using a predictive encoding method such as motion compensation.
Some coding ISO MPEG or ITU video coding standards, e.g., H.264, use different types of predicted pixelblocks in their encoding. Traditionally, a pixelblock may be one of three types:
1) An intra (I) pixelblock that uses no information from other frames in its encoding,
2) an unidirectionally predicted (P) pixelblock that uses information from one preceding (past) frame, or
3) a bidirectionally predicted (B) pixelblock that uses information from one preceding (past) frame and one future frame.
Generally, a frame that contains any B-pixelblocks is referred to as a B-frame, a frame that contains some P-pixelblocks and no B-pixelblocks is referred to a P-frame, and a frame that contains only I-pixelblocks is referred to an I-frame. The selection of the number of bidirectional motion compensated (B) frames to be coded between intra (I) or unidirectional motion compensated (P) frames is an encoder decision that significantly affects the bit rate of the subsequently compressed video bitstream. A video encoder must decide which is the best way amongst all of the possible methods (or modes) to encode each pixelblock and how many B-frames, if any, are to be coded between each I or P frames. Thus, efficient and effective methods of selecting the number of B-frames to be coded between I-frames or P-frames of a video sequence are needed.